<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
	body {margin: 0; padding: 10px; background-color: #ffffff}
	h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
	header {margin: -24px 0 5px 0; line-height: 24px}
	button {font: 12px sans-serif; cursor: pointer}
	p {margin: 5px 0 5px 0}
	a {color: #0366d6}
	#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
	#hl span {padding: 0 3px 0 3px}
	#status {overflow: hidden; white-space: nowrap}
	#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
	#reset {cursor: pointer}
	#canvas {width: 100%; height: 832px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
	// Copyright 2020 Andrei Pangin
	// Licensed under the Apache License, Version 2.0.
	'use strict';
	var root, rootLevel, px, pattern;
	var reverse = false;
	const levels = Array(52);
	for (let h = 0; h < levels.length; h++) {
		levels[h] = [];
	}

	const canvas = document.getElementById('canvas');
	const c = canvas.getContext('2d');
	const hl = document.getElementById('hl');
	const status = document.getElementById('status');

	const canvasWidth = canvas.offsetWidth;
	const canvasHeight = canvas.offsetHeight;
	canvas.style.width = canvasWidth + 'px';
	canvas.width = canvasWidth * (devicePixelRatio || 1);
	canvas.height = canvasHeight * (devicePixelRatio || 1);
	if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
	c.font = document.body.style.font;

	const palette = [
		[0xb2e1b2, 20, 20, 20],
		[0x50e150, 30, 30, 30],
		[0x50cccc, 30, 30, 30],
		[0xe15a5a, 30, 40, 40],
		[0xc8c83c, 30, 30, 10],
		[0xe17d00, 30, 30,  0],
		[0xcce880, 20, 20, 20],
	];

	function getColor(p) {
		const v = Math.random();
		return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
	}

	function f(level, left, width, type, title, inln, c1, int) {
		levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
			details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
		});
	}

	function samples(n) {
		return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
	}

	function pct(a, b) {
		return a >= b ? '100' : (100 * a / b).toFixed(2);
	}

	function findFrame(frames, x) {
		let left = 0;
		let right = frames.length - 1;

		while (left <= right) {
			const mid = (left + right) >>> 1;
			const f = frames[mid];

			if (f.left > x) {
				right = mid - 1;
			} else if (f.left + f.width <= x) {
				left = mid + 1;
			} else {
				return f;
			}
		}

		if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
		if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];

		return null;
	}

	function search(r) {
		if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
			return;
		}

		pattern = r ? RegExp(r) : undefined;
		const matched = render(root, rootLevel);
		document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
		document.getElementById('match').style.display = r ? 'inherit' : 'none';
	}

	function render(newRoot, newLevel) {
		if (root) {
			c.fillStyle = '#ffffff';
			c.fillRect(0, 0, canvasWidth, canvasHeight);
		}

		root = newRoot || levels[0][0];
		rootLevel = newLevel || 0;
		px = canvasWidth / root.width;

		const x0 = root.left;
		const x1 = x0 + root.width;
		const marked = [];

		function mark(f) {
			return marked[f.left] >= f.width || (marked[f.left] = f.width);
		}

		function totalMarked() {
			let total = 0;
			let left = 0;
			Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
				if (+x >= left) {
					total += marked[x];
					left = +x + marked[x];
				}
			});
			return total;
		}

		function drawFrame(f, y, alpha) {
			if (f.left < x1 && f.left + f.width > x0) {
				c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
				c.fillRect((f.left - x0) * px, y, f.width * px, 15);

				if (f.width * px >= 21) {
					const chars = Math.floor(f.width * px / 7);
					const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
					c.fillStyle = '#000000';
					c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
				}

				if (alpha) {
					c.fillStyle = 'rgba(255, 255, 255, 0.5)';
					c.fillRect((f.left - x0) * px, y, f.width * px, 15);
				}
			}
		}

		for (let h = 0; h < levels.length; h++) {
			const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
			const frames = levels[h];
			for (let i = 0; i < frames.length; i++) {
				drawFrame(frames[i], y, h < rootLevel);
			}
		}

		return totalMarked();
	}

	canvas.onmousemove = function() {
		const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
		if (h >= 0 && h < levels.length) {
			const f = findFrame(levels[h], event.offsetX / px + root.left);
			if (f) {
				hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
				hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
				hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
				hl.firstChild.textContent = f.title;
				hl.style.display = 'block';
				canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
				canvas.style.cursor = 'pointer';
				canvas.onclick = function() {
					if (f != root) {
						render(f, h);
						canvas.onmousemove();
					}
				};
				status.textContent = 'Function: ' + canvas.title;
				return;
			}
		}
		canvas.onmouseout();
	}

	canvas.onmouseout = function() {
		hl.style.display = 'none';
		status.textContent = '\xa0';
		canvas.title = '';
		canvas.style.cursor = '';
		canvas.onclick = '';
	}

	document.getElementById('reverse').onclick = function() {
		reverse = !reverse;
		render();
	}

	document.getElementById('search').onclick = function() {
		search(true);
	}

	document.getElementById('reset').onclick = function() {
		search(false);
	}

	window.onkeydown = function() {
		if (event.ctrlKey && event.keyCode === 70) {
			event.preventDefault();
			search(true);
		} else if (event.keyCode === 27) {
			search(false);
		}
	}

f(0,0,10000,3,'all')
f(1,0,7,3,'[G1 Young RemSet tid=255634]')
f(2,0,7,3,'start_thread')
f(3,0,7,3,'thread_native_entry(Thread*)')
f(4,0,7,4,'ConcurrentGCThread::run()')
f(5,0,7,4,'G1YoungRemSetSamplingThread::run_service()')
f(6,0,7,4,'G1CollectionSet::iterate(HeapRegionClosure*) const')
f(7,0,7,4,'G1YoungRemSetSamplingClosure::do_heap_region(HeapRegion*)')
f(8,5,1,4,'G1CollectionSet::update_young_region_prediction(HeapRegion*, unsigned long)')
f(9,5,1,4,'G1Policy::predict_region_elapsed_time_ms(HeapRegion*, bool) const')
f(10,5,1,4,'AbsSeq::davg() const')
f(8,6,1,4,'OtherRegionsTable::occupied() const')
f(1,7,2,3,'[GC Thread#0 tid=255630]')
f(2,7,2,3,'start_thread')
f(3,7,2,3,'thread_native_entry(Thread*)')
f(4,7,2,4,'GangWorker::loop()')
f(5,7,1,4,'G1FreeCollectionSetTask::work(unsigned int)')
f(6,7,1,4,'OtherRegionsTable::occupied() const')
f(5,8,1,4,'G1ParTask::work(unsigned int)')
f(6,8,1,4,'G1ParEvacuateFollowersClosure::do_void()')
f(7,8,1,3,'SpinPause')
f(1,9,2,3,'[GC Thread#1 tid=255708]')
f(2,9,2,3,'start_thread')
f(3,9,2,3,'thread_native_entry(Thread*)')
f(4,9,2,4,'GangWorker::loop()')
f(5,9,1,4,'G1FreeCollectionSetTask::work(unsigned int)')
f(6,9,1,4,'OtherRegionsTable::occupied() const')
f(5,10,1,4,'G1ParTask::work(unsigned int)')
f(6,10,1,4,'G1ParEvacuateFollowersClosure::do_void()')
f(7,10,1,3,'SpinPause')
f(1,11,2,3,'[GC Thread#2 tid=255709]')
f(2,11,2,3,'start_thread')
f(3,11,2,3,'thread_native_entry(Thread*)')
f(4,11,2,4,'GangWorker::loop()')
f(5,11,1,4,'G1FreeCollectionSetTask::work(unsigned int)')
f(6,11,1,4,'OtherRegionsTable::occupied() const')
f(5,12,1,4,'G1ParTask::work(unsigned int)')
f(6,12,1,4,'G1RemSet::scan_rem_set(G1ParScanThreadState*, unsigned int)')
f(7,12,1,4,'G1CollectionSet::iterate_from(HeapRegionClosure*, unsigned int, unsigned int) const')
f(8,12,1,4,'G1ScanRSForRegionClosure::do_heap_region(HeapRegion*)')
f(9,12,1,4,'G1EvacPhaseWithTrimTimeTracker::G1EvacPhaseWithTrimTimeTracker(G1ParScanThreadState*, TimeInterval<CompositeCounterRepresentation, CompositeElapsedCounterSource>&, TimeInterval<CompositeCounterRepresentation, CompositeElapsedCounterSource>&)')
f(10,12,1,4,'CompositeElapsedCounterSource::now()')
f(1,13,2,3,'[GC Thread#3 tid=255710]')
f(2,13,2,3,'start_thread')
f(3,13,2,3,'thread_native_entry(Thread*)')
f(4,13,2,4,'GangWorker::loop()')
f(5,13,1,4,'G1FreeCollectionSetTask::work(unsigned int)')
f(6,13,1,4,'OtherRegionsTable::occupied() const')
f(5,14,1,4,'G1ParTask::work(unsigned int)')
f(6,14,1,4,'G1RemSet::oops_into_collection_set_do(G1ParScanThreadState*, unsigned int)')
f(7,14,1,4,'G1RemSet::update_rem_set(G1ParScanThreadState*, unsigned int)')
f(8,14,1,4,'G1CollectedHeap::iterate_dirty_card_closure(CardTableEntryClosure*, unsigned int)')
f(9,14,1,4,'DirtyCardQueueSet::apply_closure_during_gc(CardTableEntryClosure*, unsigned int)')
f(10,14,1,4,'G1RefineCardClosure::do_card_ptr(signed char*, unsigned int)')
f(11,14,1,4,'G1RemSet::refine_card_during_gc(signed char*, G1ScanObjsDuringUpdateRSClosure*) [clone .part.121]')
f(12,14,1,4,'bool HeapRegion::oops_on_card_seq_iterate_careful<true, G1ScanObjsDuringUpdateRSClosure>(MemRegion, G1ScanObjsDuringUpdateRSClosure*)')
f(13,14,1,4,'void OopOopIterateDispatch<G1ScanObjsDuringUpdateRSClosure>::Table::oop_oop_iterate<InstanceMirrorKlass, unsigned int>(G1ScanObjsDuringUpdateRSClosure*, oopDesc*, Klass*)')
f(1,15,2,3,'[GC Thread#4 tid=255711]')
f(2,15,2,3,'start_thread')
f(3,15,2,3,'thread_native_entry(Thread*)')
f(4,15,2,4,'GangWorker::loop()')
f(5,15,2,4,'G1ParTask::work(unsigned int)')
f(6,15,1,4,'G1ParEvacuateFollowersClosure::do_void()')
f(7,15,1,3,'SpinPause')
f(6,16,1,4,'G1RootProcessor::evacuate_roots(G1ParScanThreadState*, unsigned int)')
f(7,16,1,4,'G1RootProcessor::process_java_roots(G1RootClosures*, G1GCPhaseTimes*, unsigned int)')
f(8,16,1,4,'Threads::possibly_parallel_oops_do(bool, OopClosure*, CodeBlobClosure*)')
f(9,16,1,4,'JavaThread::oops_do(OopClosure*, CodeBlobClosure*)')
f(10,16,1,4,'frame::oops_interpreted_do(OopClosure*, RegisterMap const*, bool)')
f(11,16,1,4,'Method::mask_for(int, InterpreterOopMap*)')
f(12,16,1,4,'InstanceKlass::mask_for(methodHandle const&, int, InterpreterOopMap*)')
f(1,17,2,3,'[GC Thread#5 tid=255712]')
f(2,17,2,3,'start_thread')
f(3,17,2,3,'thread_native_entry(Thread*)')
f(4,17,2,4,'GangWorker::loop()')
f(5,17,2,4,'G1FreeCollectionSetTask::work(unsigned int)')
f(6,17,1,4,'G1CollectionSet::iterate(HeapRegionClosure*) const')
f(7,17,1,4,'G1FreeCollectionSetTask::G1SerialFreeCollectionSetClosure::do_heap_region(HeapRegion*)')
f(6,18,1,4,'HeapRegionRemSet::clear_locked(bool)')
f(7,18,1,4,'G1FromCardCache::clear(unsigned int)')
f(1,19,2,3,'[GC Thread#6 tid=255713]')
f(2,19,1,3,'__pthread_disable_asynccancel')
f(2,20,1,3,'start_thread')
f(3,20,1,3,'thread_native_entry(Thread*)')
f(4,20,1,4,'GangWorker::loop()')
f(5,20,1,4,'G1ParTask::work(unsigned int)')
f(6,20,1,4,'G1RemSet::scan_rem_set(G1ParScanThreadState*, unsigned int)')
f(7,20,1,4,'G1CollectionSet::iterate_from(HeapRegionClosure*, unsigned int, unsigned int) const')
f(8,20,1,4,'G1ScanRSForRegionClosure::do_heap_region(HeapRegion*)')
f(1,21,2,3,'[GC Thread#7 tid=255714]')
f(2,21,2,3,'start_thread')
f(3,21,2,3,'thread_native_entry(Thread*)')
f(4,21,2,4,'GangWorker::loop()')
f(5,21,1,4,'G1FreeCollectionSetTask::work(unsigned int)')
f(6,21,1,4,'OtherRegionsTable::occupied() const')
f(5,22,1,4,'G1ParTask::work(unsigned int)')
f(6,22,1,4,'G1RootProcessor::evacuate_roots(G1ParScanThreadState*, unsigned int)')
f(7,22,1,4,'G1RootProcessor::process_vm_roots(G1RootClosures*, G1GCPhaseTimes*, unsigned int)')
f(8,22,1,4,'G1GCParPhaseTimesTracker::G1GCParPhaseTimesTracker(G1GCPhaseTimes*, G1GCPhaseTimes::GCParPhases, unsigned int)')
f(9,22,1,4,'CompositeElapsedCounterSource::now()')
f(1,23,1,3,'[VM Periodic Tas tid=255643]')
f(2,23,1,3,'__GI___futex_abstimed_wait_cancelable64')
f(3,23,1,5,'entry_SYSCALL_64_after_hwframe')
f(4,23,1,5,'do_syscall_64')
f(5,23,1,5,'__x64_sys_futex')
f(6,23,1,5,'get_timespec64')
f(1,24,3,3,'[VM Thread tid=255635]')
f(2,24,3,3,'start_thread')
f(3,24,3,3,'thread_native_entry(Thread*)')
f(4,24,3,4,'VMThread::run()')
f(5,24,3,4,'VMThread::loop()')
f(6,24,1,4,'Monitor::wait(bool, long, bool)')
f(7,24,1,4,'Monitor::IWait(Thread*, long)')
f(8,24,1,4,'os::PlatformEvent::park(long)')
f(9,24,1,3,'to_abstime(timespec*, long, bool)')
f(6,25,2,4,'VMThread::evaluate_operation(VM_Operation*) [clone .constprop.54]')
f(7,25,2,4,'VM_Operation::evaluate()')
f(8,25,2,4,'VM_G1CollectForAllocation::doit()')
f(9,25,2,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,25,2,4,'G1CollectionSet::finalize_old_part(double)')
f(11,25,2,4,'void QuickSort::inner_sort<true, unsigned int, int (*)(unsigned int, unsigned int)>(unsigned int*, unsigned long, int (*)(unsigned int, unsigned int))')
f(12,25,2,4,'void QuickSort::inner_sort<true, unsigned int, int (*)(unsigned int, unsigned int)>(unsigned int*, unsigned long, int (*)(unsigned int, unsigned int))')
f(13,25,2,4,'void QuickSort::inner_sort<true, unsigned int, int (*)(unsigned int, unsigned int)>(unsigned int*, unsigned long, int (*)(unsigned int, unsigned int))')
f(1,27,9973,3,'[org.drools.ansible.rulebook.integration.benchmark.DroolsDurableBenchmark.benchmark-jmh-worker-1 tid=255664]')
f(2,27,9637,1,'Thread.run')
f(3,27,9637,1,'ThreadPoolExecutor$Worker.run')
f(4,27,9637,1,'ThreadPoolExecutor.runWorker')
f(5,27,9637,1,'FutureTask.run')
f(6,27,9637,1,'Executors$RunnableAdapter.call')
f(7,27,9637,1,'FutureTask.run')
f(8,27,9637,1,'BenchmarkHandler$BenchmarkTask.call')
f(9,27,9637,1,'BenchmarkHandler$BenchmarkTask.call')
f(10,27,9637,1,'Method.invoke')
f(11,27,9637,1,'DelegatingMethodAccessorImpl.invoke')
f(12,27,9637,1,'NativeMethodAccessorImpl.invoke')
f(13,27,9637,1,'NativeMethodAccessorImpl.invoke0')
f(14,27,9637,1,'DroolsDurableBenchmark_benchmark_jmhTest.benchmark_AverageTime')
f(15,27,1,1,'BenchmarkTaskResult.add')
f(16,27,1,6,'ArrayList.add',0,1,0)
f(17,27,1,2,'ArrayList.add',1,0,0)
f(15,28,9636,1,'DroolsDurableBenchmark_benchmark_jmhTest.benchmark_avgt_jmhStub',0,0,2)
f(16,30,1,1,'ConcurrentHashMap.computeIfAbsent')
f(17,30,1,2,'SecureClassLoader$CodeSourceKey.equals',1,0,0)
f(16,31,9633,1,'DroolsDurableBenchmark.benchmark')
f(17,40,9624,1,'RulesExecutor.processEvents')
f(18,48,1980,1,'JSONObject.<init>',79,0,0)
f(19,54,1,1,'HashMap.resize')
f(19,55,1900,1,'JSONObject.<init>')
f(20,110,2,2,'JSONObject.<init>',2,0,0)
f(21,110,2,2,'HashMap.<init>',2,0,0)
f(22,110,2,2,'AbstractMap.<init>',2,0,0)
f(23,110,2,2,'Object.<init>',2,0,0)
f(20,112,14,2,'JSONObject.opt',14,0,0)
f(21,112,14,2,'HashMap.get',14,0,0)
f(22,112,14,2,'HashMap.hash',14,0,0)
f(23,112,14,2,'String.hashCode',14,0,0)
f(24,122,1,2,'String.isLatin1',1,0,0)
f(24,123,3,2,'StringLatin1.hashCode',3,0,0)
f(20,126,125,1,'JSONObject.put')
f(21,134,112,1,'HashMap.put',6,0,0)
f(22,136,4,2,'HashMap.hash',4,0,0)
f(23,137,3,2,'String.hashCode',3,0,0)
f(22,140,106,1,'HashMap.putVal')
f(23,173,21,2,'HashMap.newNode',21,0,0)
f(24,180,14,2,'HashMap$Node.<init>',14,0,0)
f(23,194,51,1,'HashMap.resize')
f(23,245,1,4,'SharedRuntime::on_slowpath_allocation_exit(JavaThread*)')
f(21,246,5,2,'JSONObject.testValidity',5,0,0)
f(20,251,1,2,'JSONTokener.back',1,0,0)
f(20,252,212,2,'JSONTokener.nextClean',142,0,0)
f(21,309,155,2,'JSONTokener.next',155,0,0)
f(22,331,18,2,'JSONTokener.incrementIndexes',18,0,0)
f(22,349,115,2,'StringReader.read',115,0,0)
f(23,368,91,2,'String.charAt',91,0,0)
f(24,423,10,2,'String.isLatin1',10,0,0)
f(24,433,26,2,'StringLatin1.charAt',26,0,0)
f(23,459,5,2,'StringReader.ensureOpen',5,0,0)
f(20,464,1491,1,'JSONTokener.nextValue',54,0,0)
f(21,474,1120,1,'JSONObject.<init>')
f(22,496,9,2,'JSONObject.<init>',9,0,0)
f(23,496,9,2,'HashMap.<init>',9,0,0)
f(24,499,6,2,'AbstractMap.<init>',6,0,0)
f(25,501,4,2,'Object.<init>',4,0,0)
f(22,505,35,1,'JSONObject.opt',9,0,0)
f(23,517,23,2,'HashMap.get',23,0,0)
f(24,517,11,2,'HashMap.getNode',11,0,0)
f(25,519,9,2,'String.equals',9,0,0)
f(26,521,7,2,'String.coder',7,0,0)
f(24,528,12,2,'HashMap.hash',12,0,0)
f(25,528,12,2,'String.hashCode',12,0,0)
f(26,533,7,2,'StringLatin1.hashCode',7,0,0)
f(22,540,137,1,'JSONObject.put',14,0,0)
f(23,547,126,1,'HashMap.put',15,0,0)
f(24,547,15,2,'HashMap.hash',15,0,0)
f(25,547,15,2,'String.hashCode',15,0,0)
f(26,555,7,2,'StringLatin1.hashCode',7,0,0)
f(24,562,111,1,'HashMap.putVal')
f(25,603,26,2,'HashMap.newNode',26,0,0)
f(26,610,19,2,'HashMap$Node.<init>',19,0,0)
f(25,629,44,1,'HashMap.resize')
f(26,672,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(23,673,4,2,'JSONObject.testValidity',4,0,0)
f(22,677,12,1,'JSONTokener.back')
f(23,687,2,2,'JSONTokener.decrementIndexes',2,0,0)
f(22,689,295,2,'JSONTokener.nextClean',139,0,0)
f(23,757,227,2,'JSONTokener.next',193,0,0)
f(24,834,25,2,'JSONTokener.incrementIndexes',25,0,0)
f(24,859,125,2,'StringReader.read',125,0,0)
f(25,926,53,2,'String.charAt',53,0,0)
f(26,947,32,2,'StringLatin1.charAt',32,0,0)
f(25,979,5,2,'StringReader.ensureOpen',5,0,0)
f(22,984,610,1,'JSONTokener.nextValue',64,0,0)
f(23,1052,76,2,'JSONObject.<init>',59,0,0)
f(24,1057,17,2,'JSONObject.<init>',17,0,0)
f(25,1068,6,2,'HashMap.<init>',6,0,0)
f(24,1074,20,2,'JSONObject.opt',20,0,0)
f(25,1080,14,2,'HashMap.get',14,0,0)
f(26,1080,14,2,'HashMap.hash',14,0,0)
f(27,1080,14,2,'String.hashCode',14,0,0)
f(28,1083,5,2,'String.isLatin1',5,0,0)
f(28,1088,6,2,'StringLatin1.hashCode',6,0,0)
f(24,1094,17,2,'JSONTokener.nextClean',17,0,0)
f(25,1098,13,2,'JSONTokener.next',13,0,0)
f(26,1099,12,2,'StringReader.read',12,0,0)
f(24,1111,17,1,'JSONTokener.nextValue')
f(25,1111,12,2,'JSONObject.<init>',12,0,0)
f(26,1111,12,2,'JSONTokener.nextClean',12,0,0)
f(27,1114,9,2,'JSONTokener.next',9,0,0)
f(28,1115,8,2,'StringReader.read',8,0,0)
f(29,1117,6,2,'String.charAt',6,0,0)
f(30,1118,5,2,'StringLatin1.charAt',5,0,0)
f(25,1123,5,2,'JSONTokener.nextClean',5,0,0)
f(26,1123,5,2,'JSONTokener.next',5,0,0)
f(27,1124,4,2,'StringReader.read',4,0,0)
f(23,1128,1,2,'JSONTokener.back',1,0,0)
f(24,1128,1,2,'JSONTokener.decrementIndexes',1,0,0)
f(23,1129,14,2,'JSONTokener.nextClean',14,0,0)
f(24,1129,14,2,'JSONTokener.next',14,0,0)
f(25,1132,11,2,'StringReader.read',11,0,0)
f(26,1136,6,2,'String.charAt',6,0,0)
f(26,1142,1,2,'StringReader.ensureOpen',1,0,0)
f(23,1143,451,1,'JSONTokener.nextString')
f(24,1187,147,2,'JSONTokener.next',147,0,0)
f(25,1232,27,2,'JSONTokener.incrementIndexes',27,0,0)
f(25,1259,75,2,'StringReader.read',75,0,0)
f(26,1311,16,2,'String.charAt',16,0,0)
f(27,1311,16,2,'StringLatin1.charAt',16,0,0)
f(26,1327,7,2,'StringReader.ensureOpen',7,0,0)
f(24,1334,25,2,'StringBuilder.<init>',25,0,0)
f(25,1334,25,2,'AbstractStringBuilder.<init>',25,0,0)
f(24,1359,196,2,'StringBuilder.append',168,0,0)
f(25,1359,196,2,'AbstractStringBuilder.append',168,0,0)
f(26,1394,161,2,'AbstractStringBuilder.ensureCapacityInternal',133,0,0)
f(27,1527,6,1,'Arrays.copyOf')
f(28,1527,6,4,'OptoRuntime::new_array_nozero_C(Klass*, int, JavaThread*)')
f(29,1527,6,4,'OptoRuntime::is_deoptimized_caller_frame(JavaThread*)')
f(30,1527,5,4,'JavaThread::pd_last_frame()')
f(31,1527,4,4,'CodeCache::find_blob(void*)')
f(32,1530,1,4,'CodeHeap::find_blob_unsafe(void*) const')
f(31,1531,1,4,'CodeHeap::find_blob_unsafe(void*) const')
f(30,1532,1,4,'frame::sender(RegisterMap*) const')
f(31,1532,1,4,'frame::frame(long*, long*, long*, unsigned char*)')
f(32,1532,1,4,'CodeCache::find_blob(void*)')
f(33,1532,1,4,'CodeHeap::find_blob_unsafe(void*) const')
f(27,1533,22,3,'jlong_disjoint_arraycopy')
f(24,1555,39,2,'StringBuilder.toString',39,0,0)
f(25,1555,39,2,'StringLatin1.newString',39,0,0)
f(26,1570,24,2,'Arrays.copyOfRange',24,0,0)
f(21,1594,6,2,'JSONTokener.back',6,0,0)
f(22,1594,6,2,'JSONTokener.decrementIndexes',6,0,0)
f(21,1600,38,2,'JSONTokener.nextClean',38,0,0)
f(22,1606,32,2,'JSONTokener.next',32,0,0)
f(23,1624,1,2,'JSONTokener.incrementIndexes',1,0,0)
f(23,1625,13,2,'StringReader.read',13,0,0)
f(24,1630,7,2,'String.charAt',7,0,0)
f(25,1635,2,2,'String.isLatin1',2,0,0)
f(24,1637,1,2,'StringReader.ensureOpen',1,0,0)
f(21,1638,317,1,'JSONTokener.nextString')
f(22,1675,100,2,'JSONTokener.next',100,0,0)
f(23,1706,16,2,'JSONTokener.incrementIndexes',16,0,0)
f(23,1722,53,2,'StringReader.read',53,0,0)
f(24,1764,5,2,'String.charAt',5,0,0)
f(25,1764,5,2,'StringLatin1.charAt',5,0,0)
f(24,1769,6,2,'StringReader.ensureOpen',6,0,0)
f(22,1775,10,2,'StringBuilder.<init>',9,0,0)
f(23,1775,10,2,'AbstractStringBuilder.<init>',9,0,0)
f(24,1784,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(25,1784,1,4,'InstanceKlass::allocate_instance(Thread*)')
f(26,1784,1,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(27,1784,1,4,'MemAllocator::allocate() const')
f(28,1784,1,4,'ObjAllocator::initialize(HeapWord*) const')
f(22,1785,153,2,'StringBuilder.append',141,0,0)
f(23,1785,153,2,'AbstractStringBuilder.append',141,0,0)
f(24,1818,120,2,'AbstractStringBuilder.ensureCapacityInternal',108,0,0)
f(25,1926,12,3,'jlong_disjoint_arraycopy')
f(22,1938,17,2,'StringBuilder.toString',17,0,0)
f(23,1938,17,2,'StringLatin1.newString',17,0,0)
f(24,1946,9,2,'Arrays.copyOfRange',9,0,0)
f(19,1955,73,2,'JSONTokener.<init>',73,0,0)
f(20,1958,62,2,'JSONTokener.<init>',62,0,0)
f(20,2020,8,2,'StringReader.<init>',8,0,0)
f(21,2026,2,2,'String.length',2,0,0)
f(22,2027,1,2,'String.coder',1,0,0)
f(18,2028,505,1,'JSONObject.toMap')
f(19,2101,64,2,'HashMap$EntryIterator.next',64,0,0)
f(20,2101,64,2,'HashMap$EntryIterator.next',64,0,0)
f(21,2119,46,2,'HashMap$HashIterator.nextNode',46,0,0)
f(19,2165,27,2,'HashMap$EntrySet.iterator',27,0,0)
f(20,2169,23,2,'HashMap$EntryIterator.<init>',23,0,0)
f(21,2169,23,2,'HashMap$HashIterator.<init>',23,0,0)
f(19,2192,2,2,'HashMap.<init>',2,0,0)
f(19,2194,116,1,'HashMap.put',1,0,0)
f(20,2195,10,1,'HashMap.hash')
f(21,2195,10,1,'String.hashCode')
f(20,2205,105,1,'HashMap.putVal')
f(21,2242,25,2,'HashMap.newNode',25,0,0)
f(22,2248,19,2,'HashMap$Node.<init>',19,0,0)
f(21,2267,43,1,'HashMap.resize')
f(22,2308,2,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(23,2308,2,4,'InstanceKlass::allocate_objArray(int, int, Thread*)')
f(24,2309,1,4,'CollectedHeap::array_allocate(Klass*, int, int, bool, Thread*)')
f(25,2309,1,4,'MemAllocator::allocate() const')
f(26,2309,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(27,2309,1,4,'ThreadLocalAllocBuffer::fill(HeapWord*, HeapWord*, unsigned long)')
f(19,2310,28,2,'JSONObject.entrySet',28,0,0)
f(20,2310,28,2,'HashMap.entrySet',28,0,0)
f(19,2338,195,1,'JSONObject.toMap')
f(20,2371,22,2,'HashMap$EntryIterator.next',22,0,0)
f(21,2371,22,2,'HashMap$EntryIterator.next',22,0,0)
f(22,2371,22,2,'HashMap$HashIterator.nextNode',22,0,0)
f(20,2393,6,2,'HashMap$Node.getValue',6,0,0)
f(20,2399,2,2,'HashMap.<init>',2,0,0)
f(20,2401,124,1,'HashMap.put',16,0,0)
f(21,2409,13,2,'HashMap.hash',8,0,0)
f(22,2417,5,1,'String.hashCode')
f(23,2421,1,2,'StringLatin1.hashCode',1,0,0)
f(21,2422,103,1,'HashMap.putVal')
f(22,2457,24,2,'HashMap.newNode',24,0,0)
f(23,2460,21,2,'HashMap$Node.<init>',21,0,0)
f(22,2481,44,1,'HashMap.resize')
f(20,2525,8,2,'JSONObject.entrySet',8,0,0)
f(21,2525,8,2,'HashMap.entrySet',8,0,0)
f(22,2530,3,2,'HashMap$EntrySet.<init>',3,0,0)
f(23,2530,3,2,'AbstractSet.<init>',3,0,0)
f(24,2530,3,2,'AbstractCollection.<init>',3,0,0)
f(18,2533,7131,1,'RulesExecutor.processEvents',753,0,0)
f(19,2533,7131,1,'RulesExecutor.process',753,0,0)
f(20,2534,19,2,'Collection.stream',19,0,0)
f(21,2534,1,2,'Collections$SingletonList.spliterator',1,0,0)
f(21,2535,18,2,'StreamSupport.stream',18,0,0)
f(22,2539,13,2,'ReferencePipeline$Head.<init>',13,0,0)
f(23,2539,13,2,'ReferencePipeline.<init>',13,0,0)
f(24,2540,12,2,'AbstractPipeline.<init>',12,0,0)
f(25,2551,1,2,'PipelineHelper.<init>',1,0,0)
f(26,2551,1,2,'Object.<init>',1,0,0)
f(22,2552,1,2,'StreamOpFlag.fromCharacteristics',1,0,0)
f(23,2552,1,2,'Collections$2.characteristics',1,0,0)
f(20,2553,30,2,'Invokers$Holder.linkToTargetMethod',30,0,0)
f(21,2553,30,2,'DirectMethodHandle$Holder.invokeStatic',30,0,0)
f(22,2553,29,2,'RulesExecutor$$Lambda$112/494288933.get$Lambda',29,0,0)
f(23,2553,29,2,'RulesExecutor$$Lambda$112/494288933.<init>',29,0,0)
f(22,2582,1,2,'RulesExecutor$$Lambda$114/948294415.get$Lambda',1,0,0)
f(23,2582,1,2,'RulesExecutor$$Lambda$114/948294415.<init>',1,0,0)
f(24,2582,1,2,'Object.<init>',1,0,0)
f(20,2583,288,1,'ReferencePipeline.forEach',6,0,0)
f(21,2583,281,1,'AbstractPipeline.evaluate',3,0,0)
f(22,2583,281,1,'ForEachOps$ForEachOp$OfRef.evaluateSequential',3,0,0)
f(23,2583,281,1,'ForEachOps$ForEachOp.evaluateSequential',3,0,0)
f(24,2586,278,1,'AbstractPipeline.wrapAndCopyInto')
f(25,2599,232,2,'AbstractPipeline.copyInto',81,0,0)
f(26,2605,212,1,'Collections$2.forEachRemaining',61,0,0)
f(27,2605,212,1,'Collections$2.tryAdvance',61,0,0)
f(28,2605,212,1,'ReferencePipeline$3$1.accept',61,0,0)
f(29,2655,159,1,'ReferencePipeline$3$1.accept',9,0,0)
f(30,2656,152,1,'ForEachOps$ForEachOp$OfRef.accept',2,0,0)
f(31,2656,152,1,'RulesExecutor$$Lambda$114/948294415.accept',2,0,0)
f(32,2658,150,1,'ConcurrentHashMap$KeySetView.add')
f(33,2658,150,1,'ConcurrentHashMap.putVal')
f(34,2676,43,2,'ConcurrentHashMap$Node.<init>',43,0,0)
f(34,2719,36,2,'ConcurrentHashMap.addCount',36,0,0)
f(34,2755,41,2,'ConcurrentHashMap.casTabAt',41,0,0)
f(34,2796,1,2,'ConcurrentHashMap.tabAt',1,0,0)
f(34,2797,11,1,'Long.hashCode')
f(35,2803,5,2,'Long.hashCode',5,0,0)
f(30,2808,6,2,'RulesExecutor$$Lambda$113/291825514.apply',6,0,0)
f(31,2808,6,2,'Long.valueOf',6,0,0)
f(29,2814,2,2,'RulesExecutor$$Lambda$112/494288933.apply',2,0,0)
f(29,2816,1,1,'RulesExecutor$$Lambda$113/291825514.apply')
f(30,2816,1,1,'Long.valueOf')
f(31,2816,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(32,2816,1,4,'InstanceKlass::allocate_instance(Thread*)')
f(33,2816,1,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(34,2816,1,4,'MemAllocator::allocate() const')
f(35,2816,1,4,'JfrAllocationTracer::JfrAllocationTracer(HeapWord*, unsigned long, Thread*)')
f(26,2817,7,2,'Sink$ChainedReference.begin',7,0,0)
f(27,2819,5,2,'Sink$ChainedReference.begin',5,0,0)
f(26,2824,3,2,'Sink$ChainedReference.end',3,0,0)
f(26,2827,1,2,'Spliterator.getExactSizeIfKnown',1,0,0)
f(27,2827,1,2,'Collections$2.characteristics',1,0,0)
f(26,2828,3,2,'StreamOpFlag.isKnown',3,0,0)
f(25,2831,33,2,'AbstractPipeline.wrapSink',33,0,0)
f(26,2837,27,2,'ReferencePipeline$3.opWrapSink',27,0,0)
f(27,2850,14,2,'ReferencePipeline$3$1.<init>',14,0,0)
f(28,2850,14,2,'Sink$ChainedReference.<init>',14,0,0)
f(21,2864,6,2,'ForEachOps.makeRef',3,0,0)
f(22,2866,4,1,'ForEachOps$ForEachOp$OfRef.<init>',1,0,0)
f(23,2867,1,1,'ForEachOps$ForEachOp.<init>')
f(24,2867,1,1,'Object.<init>')
f(25,2867,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(26,2867,1,4,'InstanceKlass::allocate_instance(Thread*)')
f(27,2867,1,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(28,2867,1,4,'MemAllocator::allocate() const')
f(29,2867,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(30,2867,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(23,2868,2,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(24,2868,2,4,'InstanceKlass::allocate_instance(Thread*)')
f(25,2868,2,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(26,2868,2,4,'MemAllocator::allocate() const')
f(27,2868,2,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(28,2868,2,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(29,2868,2,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(30,2868,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(31,2868,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool)')
f(32,2868,1,4,'G1RemSetTrackingPolicy::update_at_allocate(HeapRegion*)')
f(33,2868,1,4,'G1FromCardCache::clear(unsigned int)')
f(30,2869,1,4,'Monitor::lock()')
f(21,2870,1,4,'SharedRuntime::on_slowpath_allocation_exit(JavaThread*)')
f(20,2871,324,2,'ReferencePipeline.map',324,0,0)
f(21,2896,299,2,'ReferencePipeline$3.<init>',299,0,0)
f(22,2932,263,2,'ReferencePipeline$StatelessOp.<init>',263,0,0)
f(23,2933,262,2,'ReferencePipeline.<init>',262,0,0)
f(24,2937,258,2,'AbstractPipeline.<init>',258,0,0)
f(25,3083,51,2,'PipelineHelper.<init>',51,0,0)
f(25,3134,61,2,'StreamOpFlag.combineOpFlags',61,0,0)
f(26,3167,28,2,'StreamOpFlag.getMask',28,0,0)
f(20,3195,67,1,'RulesExecutor$RegisterOnlyAgendaFilter.getMatchedRules',4,0,0)
f(21,3195,67,1,'ArrayList.<init>',4,0,0)
f(22,3199,63,1,'AbstractCollection.toArray')
f(23,3222,37,2,'HashSet.iterator',36,0,0)
f(24,3222,9,2,'LinkedHashMap$LinkedKeySet.iterator',9,0,0)
f(25,3228,3,2,'LinkedHashMap$LinkedKeyIterator.<init>',3,0,0)
f(26,3229,2,2,'LinkedHashMap$LinkedHashIterator.<init>',2,0,0)
f(24,3231,28,2,'LinkedHashMap.keySet',27,0,0)
f(25,3258,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(26,3258,1,4,'InstanceKlass::allocate_objArray(int, int, Thread*)')
f(27,3258,1,4,'CollectedHeap::array_allocate(Klass*, int, int, bool, Thread*)')
f(28,3258,1,4,'MemAllocator::allocate() const')
f(29,3258,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(30,3258,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(31,3258,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(32,3258,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(33,3258,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool)')
f(34,3258,1,4,'G1RemSetTrackingPolicy::update_at_allocate(HeapRegion*)')
f(35,3258,1,4,'G1FromCardCache::clear(unsigned int)')
f(23,3259,1,2,'LinkedHashMap$LinkedHashIterator.hasNext',1,0,0)
f(23,3260,2,2,'LinkedHashMap$LinkedKeyIterator.next',2,0,0)
f(24,3260,1,2,'HashMap$Node.getKey',1,0,0)
f(24,3261,1,2,'LinkedHashMap$LinkedHashIterator.nextNode',1,0,0)
f(20,3262,2856,1,'RulesExecutor.insertFacts',363,0,0)
f(21,3263,1,2,'Collections.singletonList',1,0,0)
f(21,3264,147,2,'HashMap.containsKey',145,0,0)
f(22,3267,66,2,'HashMap.getNode',66,0,0)
f(23,3305,28,2,'String.equals',28,0,0)
f(24,3331,2,2,'String.coder',2,0,0)
f(22,3333,76,2,'HashMap.hash',76,0,0)
f(23,3344,65,2,'String.hashCode',65,0,0)
f(24,3394,2,2,'String.isLatin1',2,0,0)
f(24,3396,13,2,'StringLatin1.hashCode',13,0,0)
f(22,3409,2,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(23,3409,2,4,'InstanceKlass::allocate_instance(Thread*)')
f(24,3409,2,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(25,3409,2,4,'MemAllocator::allocate() const')
f(26,3409,2,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(27,3409,2,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(28,3409,2,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(29,3410,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(30,3410,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool)')
f(31,3410,1,4,'OtherRegionsTable::clear_fcc()')
f(21,3411,2707,1,'RulesExecutor.insertFact',216,0,0)
f(22,3449,1016,1,'RulesExecutor.mapToFact',169,0,0)
f(23,3460,311,2,'FactFactory.createMapBasedFact',127,0,0)
f(24,3503,79,2,'FactFactory.createMapBasedFact',79,0,0)
f(25,3505,77,2,'HashMapFactImpl.<init>',77,0,0)
f(26,3576,6,2,'HashMap.<init>',6,0,0)
f(27,3579,3,2,'AbstractMap.<init>',3,0,0)
f(28,3580,2,2,'Object.<init>',2,0,0)
f(24,3582,189,1,'FactFactory.prototypeToFactTemplate',5,0,0)
f(25,3586,184,1,'ConcurrentHashMap.computeIfAbsent')
f(26,3652,3,2,'ConcurrentHashMap$Node.<init>',3,0,0)
f(26,3655,1,2,'ConcurrentHashMap.spread',1,0,0)
f(26,3656,6,2,'ConcurrentHashMap.tabAt',6,0,0)
f(26,3662,103,1,'PrototypeImpl.hashCode')
f(27,3696,69,2,'Objects.hash',23,0,0)
f(28,3696,69,2,'Arrays.hashCode',23,0,0)
f(29,3719,17,1,'Collections$UnmodifiableMap.hashCode')
f(30,3734,2,2,'AbstractMap.hashCode',2,0,0)
f(31,3734,1,2,'TreeMap$EntrySet.iterator',1,0,0)
f(32,3734,1,2,'TreeMap.getFirstEntry',1,0,0)
f(31,3735,1,2,'TreeMap.entrySet',1,0,0)
f(29,3736,25,1,'String.hashCode')
f(30,3757,4,2,'StringLatin1.hashCode',4,0,0)
f(29,3761,4,3,'vtable stub')
f(26,3765,1,2,'SecureClassLoader$CodeSourceKey.equals',1,0,0)
f(26,3766,4,3,'vtable stub')
f(25,3770,1,2,'Invokers$Holder.linkToTargetMethod',1,0,0)
f(26,3770,1,2,'LambdaForm$MH/1321640594.invoke',1,0,0)
f(23,3771,630,1,'RulesExecutor.populateFact')
f(24,3814,84,2,'HashMap$EntryIterator.next',71,0,0)
f(25,3815,83,2,'HashMap$EntryIterator.next',70,0,0)
f(26,3818,80,2,'HashMap$HashIterator.nextNode',67,0,0)
f(27,3885,13,3,'jbyte_disjoint_arraycopy')
f(24,3898,95,2,'HashMap$EntrySet.iterator',95,0,0)
f(25,3898,95,2,'HashMap$EntryIterator.<init>',95,0,0)
f(26,3900,93,2,'HashMap$HashIterator.<init>',93,0,0)
f(24,3993,83,2,'Invokers$Holder.linkToTargetMethod',68,0,0)
f(25,3993,83,2,'LambdaForm$MH/778192839.invoke',68,0,0)
f(26,3995,71,2,'DirectMethodHandle$Holder.invokeStatic',56,0,0)
f(27,3996,4,2,'DirectMethodHandle.internalMemberName',4,0,0)
f(27,4000,1,2,'StringConcatFactory$MethodHandleInlineCopyStrategy.newArray',1,0,0)
f(27,4001,15,2,'StringConcatHelper.mixCoder',15,0,0)
f(27,4016,47,2,'StringConcatHelper.mixLen',32,0,0)
f(28,4042,6,2,'String.length',6,0,0)
f(29,4046,2,2,'String.coder',2,0,0)
f(28,4048,15,3,'jbyte_disjoint_arraycopy')
f(27,4063,3,2,'StringConcatHelper.prepend',3,0,0)
f(28,4063,3,2,'String.getBytes',3,0,0)
f(26,4066,10,2,'LambdaForm$MH/1776923734.invoke',10,0,0)
f(27,4069,7,2,'DelegatingMethodHandle$Holder.reinvoke_L',7,0,0)
f(28,4069,7,2,'DirectMethodHandle$Holder.invokeStatic',7,0,0)
f(24,4076,325,1,'RulesExecutor.populateFact')
f(25,4090,9,2,'HashMap$EntryIterator.next',9,0,0)
f(26,4090,9,2,'HashMap$EntryIterator.next',9,0,0)
f(27,4092,7,2,'HashMap$HashIterator.nextNode',7,0,0)
f(25,4099,5,2,'HashMap$EntrySet.iterator',5,0,0)
f(26,4099,5,2,'HashMap$EntryIterator.<init>',5,0,0)
f(27,4099,5,2,'HashMap$HashIterator.<init>',5,0,0)
f(25,4104,4,2,'HashMap$Node.getKey',4,0,0)
f(25,4108,11,2,'HashMap.entrySet',11,0,0)
f(26,4117,2,2,'HashMap$EntrySet.<init>',2,0,0)
f(27,4117,2,2,'AbstractSet.<init>',2,0,0)
f(28,4117,2,2,'AbstractCollection.<init>',2,0,0)
f(25,4119,117,1,'HashMapFactImpl.set',4,0,0)
f(26,4119,117,1,'HashMap.put',4,0,0)
f(27,4123,113,1,'HashMap.putVal')
f(28,4164,22,2,'HashMap.newNode',22,0,0)
f(29,4168,18,2,'HashMap$Node.<init>',18,0,0)
f(28,4186,50,1,'HashMap.resize')
f(25,4236,165,2,'Invokers$Holder.linkToTargetMethod',131,0,0)
f(26,4236,92,2,'LambdaForm$MH/374011521.invoke',58,0,0)
f(27,4249,62,2,'DirectMethodHandle$Holder.invokeStatic',28,0,0)
f(28,4264,12,1,'String.valueOf')
f(29,4264,2,3,'jbyte_arraycopy')
f(29,4266,10,3,'jbyte_disjoint_arraycopy')
f(28,4276,10,2,'StringConcatFactory$MethodHandleInlineCopyStrategy.newArray',10,0,0)
f(29,4276,10,2,'Unsafe.allocateUninitializedArray',10,0,0)
f(28,4286,3,2,'StringConcatHelper.prepend',3,0,0)
f(29,4287,2,2,'String.getBytes',2,0,0)
f(30,4288,1,2,'String.coder',1,0,0)
f(28,4289,4,3,'jbyte_arraycopy')
f(28,4293,18,3,'jbyte_disjoint_arraycopy')
f(27,4311,17,2,'LambdaForm$MH/827966648.invoke',17,0,0)
f(28,4312,16,2,'DirectMethodHandle$Holder.invokeStatic',16,0,0)
f(29,4313,15,2,'StringConcatHelper.prepend',15,0,0)
f(30,4317,6,2,'String.getBytes',6,0,0)
f(30,4323,5,2,'String.length',5,0,0)
f(26,4328,73,2,'LambdaForm$MH/778192839.invoke',73,0,0)
f(27,4348,31,2,'DirectMethodHandle$Holder.invokeStatic',31,0,0)
f(28,4352,4,2,'DirectMethodHandle.internalMemberName',4,0,0)
f(28,4356,1,2,'StringConcatFactory$MethodHandleInlineCopyStrategy.newArray',1,0,0)
f(29,4356,1,2,'Unsafe.allocateUninitializedArray',1,0,0)
f(28,4357,3,2,'StringConcatHelper.mixCoder',3,0,0)
f(28,4360,15,2,'StringConcatHelper.mixLen',15,0,0)
f(29,4360,8,2,'String.length',8,0,0)
f(30,4363,5,2,'String.coder',5,0,0)
f(29,4368,7,2,'StringConcatHelper.checkOverflow',7,0,0)
f(28,4375,4,2,'StringConcatHelper.newString',4,0,0)
f(29,4377,2,2,'String.<init>',2,0,0)
f(27,4379,22,2,'LambdaForm$MH/1776923734.invoke',22,0,0)
f(28,4390,11,2,'DirectMethodHandle$Holder.invokeStatic',11,0,0)
f(29,4400,1,2,'DirectMethodHandle.internalMemberName',1,0,0)
f(23,4401,64,2,'SessionGenerator.getPrototype',31,0,0)
f(24,4401,64,2,'SessionGenerator.getPrototype',31,0,0)
f(25,4402,63,2,'PrototypeFactory.getPrototype',30,0,0)
f(26,4431,33,1,'HashMap.computeIfAbsent')
f(27,4454,10,1,'HashMap.hash',3,0,0)
f(28,4457,7,1,'String.hashCode')
f(26,4464,1,2,'Invokers$Holder.linkToTargetMethod',1,0,0)
f(22,4465,1653,1,'StatefulKnowledgeSessionImpl.insert',9,0,0)
f(23,4465,1653,1,'StatefulKnowledgeSessionImpl.insert',9,0,0)
f(24,4465,1653,1,'StatefulKnowledgeSessionImpl.insert',9,0,0)
f(25,4469,1644,1,'NamedEntryPoint.insert')
f(26,4600,712,1,'ClassAwareObjectStore.getHandleForObject',195,0,0)
f(27,4604,568,1,'ClassAwareObjectStore$FactHandleMap.get',113,0,0)
f(28,4643,529,1,'IdentityHashMap.get',74,0,0)
f(29,4688,482,1,'IdentityHashMap.hash',27,0,0)
f(30,4695,475,1,'System.identityHashCode',20,0,0)
f(31,4749,1,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<1097844ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 1097844ul>::oop_access_barrier(void*)')
f(31,4750,3,4,'HandleMark::pop_and_restore()')
f(31,4753,409,3,'JVM_IHashCode')
f(32,4783,4,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<1097844ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 1097844ul>::oop_access_barrier(void*)')
f(32,4787,2,4,'Handle::Handle(Thread*, oopDesc*)')
f(32,4789,6,4,'HandleMark::pop_and_restore()')
f(32,4795,166,4,'ObjectSynchronizer::FastHashCode(Thread*, oopDesc*)')
f(33,4898,53,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(33,4951,10,4,'Handle::Handle(Thread*, oopDesc*)')
f(32,4961,45,4,'ThreadInVMfromNative::~ThreadInVMfromNative()')
f(32,5006,59,4,'ThreadStateTransition::transition_from_native(JavaThread*, JavaThreadState) [clone .constprop.209]')
f(32,5065,96,3,'__tls_get_addr')
f(32,5161,1,4,'oopDesc* JNIHandles::resolve_impl<false>(_jobject*)')
f(31,5162,2,3,'Java_java_lang_System_identityHashCode')
f(31,5164,2,4,'ObjectSynchronizer::FastHashCode(Thread*, oopDesc*)')
f(31,5166,4,4,'ThreadInVMfromNative::~ThreadInVMfromNative()')
f(29,5170,2,2,'IdentityHashMap.maskNull',2,0,0)
f(27,5172,140,2,'ClassAwareObjectStore.getOrCreateConcreteClassStore',78,0,0)
f(28,5176,3,2,'ClassAwareObjectStore.getActualClass',3,0,0)
f(28,5179,133,2,'ClassAwareObjectStore.getOrCreateConcreteClassStore',71,0,0)
f(29,5203,47,2,'ClassAwareObjectStore$ConcreteIdentityClassStore.isConcrete',47,0,0)
f(29,5250,62,1,'ClassAwareObjectStore.getOrCreateClassStore')
f(30,5261,5,2,'Class.getName',5,0,0)
f(30,5266,46,2,'HashMap.get',46,0,0)
f(31,5266,9,2,'HashMap.getNode',9,0,0)
f(32,5269,6,2,'String.equals',6,0,0)
f(31,5275,37,2,'HashMap.hash',37,0,0)
f(32,5275,37,2,'String.hashCode',37,0,0)
f(33,5287,25,2,'String.isLatin1',25,0,0)
f(26,5312,223,2,'NamedEntryPoint.createHandle',223,0,0)
f(27,5391,144,2,'AbstractFactHandleFactory.newFactHandle',144,0,0)
f(28,5393,8,2,'AbstractFactHandleFactory.getNextId',8,0,0)
f(29,5394,7,2,'AbstractFactHandleFactory$IdsGenerator.getNextId',7,0,0)
f(30,5400,1,2,'AtomicLong.incrementAndGet',1,0,0)
f(28,5401,134,2,'AbstractFactHandleFactory.newFactHandle',134,0,0)
f(29,5406,34,2,'AbstractFactHandleFactory.getNextRecency',34,0,0)
f(30,5412,28,2,'AtomicLong.incrementAndGet',28,0,0)
f(29,5440,95,2,'AbstractFactHandleFactory.newFactHandle',95,0,0)
f(30,5440,95,2,'AbstractFactHandleFactory.createDefaultFactHandle',95,0,0)
f(31,5449,86,2,'DefaultFactHandle.<init>',86,0,0)
f(32,5479,56,2,'DefaultFactHandle.<init>',56,0,0)
f(33,5484,51,2,'DefaultFactHandle.<init>',51,0,0)
f(34,5523,12,2,'DefaultFactHandle.setObject',12,0,0)
f(26,5535,60,1,'NamedEntryPoint.insert',6,0,0)
f(27,5535,59,1,'ClassAwareObjectStore.addHandle',6,0,0)
f(28,5535,59,1,'ClassAwareObjectStore.getOrCreateConcreteClassStore',6,0,0)
f(29,5535,59,1,'ClassAwareObjectStore.getOrCreateConcreteClassStore',6,0,0)
f(30,5541,53,1,'ClassAwareObjectStore.getOrCreateClassStore')
f(31,5562,5,2,'Class.getName',5,0,0)
f(31,5567,27,2,'HashMap.get',27,0,0)
f(32,5567,21,2,'HashMap.getNode',21,0,0)
f(33,5572,16,2,'String.equals',16,0,0)
f(32,5588,6,2,'HashMap.hash',6,0,0)
f(33,5590,4,2,'String.hashCode',4,0,0)
f(34,5592,2,2,'String.isLatin1',2,0,0)
f(27,5594,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(28,5594,1,4,'InstanceKlass::allocate_instance(Thread*)')
f(29,5594,1,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(30,5594,1,4,'MemAllocator::allocate() const')
f(31,5594,1,4,'ThreadHeapSampler::enabled()')
f(26,5595,48,2,'NamedEntryPoint.lock',48,0,0)
f(27,5595,48,2,'ReentrantLock.lock',48,0,0)
f(28,5601,42,2,'AbstractQueuedSynchronizer.acquire',42,0,0)
f(29,5601,42,2,'ReentrantLock$NonfairSync.tryAcquire',42,0,0)
f(30,5620,23,2,'ReentrantLock$Sync.nonfairTryAcquire',23,0,0)
f(31,5632,3,2,'AbstractOwnableSynchronizer.setExclusiveOwnerThread',3,0,0)
f(31,5635,8,2,'AbstractQueuedSynchronizer.compareAndSetState',8,0,0)
f(32,5635,8,2,'VarHandleGuards.guard_LII_Z',8,0,0)
f(33,5642,1,2,'VarHandleInts$FieldInstanceReadWrite.compareAndSet',1,0,0)
f(26,5643,336,2,'ObjectTypeConfigurationRegistry.getOrCreateObjectTypeConf',336,0,0)
f(27,5665,307,2,'ConcurrentHashMap.get',307,0,0)
f(28,5829,4,2,'ConcurrentHashMap.tabAt',4,0,0)
f(28,5833,56,2,'String.equals',56,0,0)
f(29,5863,13,2,'String.coder',13,0,0)
f(29,5876,13,2,'String.isLatin1',13,0,0)
f(28,5889,83,2,'String.hashCode',83,0,0)
f(29,5933,24,2,'String.isLatin1',24,0,0)
f(29,5957,15,2,'StringLatin1.hashCode',15,0,0)
f(27,5972,7,2,'ObjectTypeConfigurationRegistry.getKey',7,0,0)
f(26,5979,6,2,'PhreakPropagationContext.setFactHandle',6,0,0)
f(26,5985,116,2,'PhreakPropagationContextFactory.createPropagationContext',39,0,0)
f(27,6006,95,1,'PhreakPropagationContext.<init>',18,0,0)
f(28,6019,77,1,'PhreakPropagationContext.<init>')
f(28,6096,5,2,'PropertySpecificUtil.allSetBitMask',5,0,0)
f(26,6101,10,2,'StatefulKnowledgeSessionImpl.getNextPropagationIdCounter',9,0,0)
f(27,6104,6,2,'AtomicLong.incrementAndGet',6,0,0)
f(27,6110,1,4,'InstanceKlass::klass_holder() const')
f(26,6111,2,2,'StatefulKnowledgeSessionImpl.startOperation',2,0,0)
f(27,6111,2,2,'SessionConfigurationImpl.isThreadSafe',2,0,0)
f(25,6113,5,2,'StatefulKnowledgeSessionImpl.checkAlive',5,0,0)
f(26,6113,5,2,'StatefulKnowledgeSessionImpl.isAlive',5,0,0)
f(27,6113,5,2,'DefaultAgenda.isAlive',5,0,0)
f(28,6114,4,2,'DefaultAgenda$ConcurrentExecutionStateMachine.isAlive',4,0,0)
f(20,6118,3546,1,'StatefulKnowledgeSessionImpl.fireAllRules',6,0,0)
f(21,6118,3546,1,'StatefulKnowledgeSessionImpl.fireAllRules',6,0,0)
f(22,6118,3546,1,'StatefulKnowledgeSessionImpl.internalFireAllRules',6,0,0)
f(23,6118,3546,1,'DefaultAgenda.fireAllRules',6,0,0)
f(24,6118,3546,1,'DefaultAgenda.internalFireAllRules',6,0,0)
f(25,6124,3540,1,'DefaultAgenda.fireLoop')
f(26,6159,44,1,'AgendaGroupsManager$SimpleAgendaGroupsManager.deactivateMainGroupWhenEmpty')
f(27,6201,1,2,'AgendaGroupQueueImpl.isEmpty',1,0,0)
f(27,6202,1,2,'AgendaGroupQueueImpl.setActive',1,0,0)
f(26,6203,62,1,'AgendaGroupsManager$SimpleAgendaGroupsManager.getNextFocus')
f(27,6257,1,2,'AbstractFactHandleFactory.getRecency',1,0,0)
f(28,6257,1,2,'AtomicLong.get',1,0,0)
f(27,6258,2,2,'AgendaGroupQueueImpl.isActive',2,0,0)
f(27,6260,5,2,'AgendaGroupQueueImpl.isEmpty',5,0,0)
f(26,6265,396,1,'DefaultAgenda$ConcurrentExecutionStateMachine.immediateHalt')
f(27,6337,81,2,'DefaultAgenda$ConcurrentExecutionStateMachine.setCurrentState',81,0,0)
f(27,6418,243,1,'Object.notifyAll',2,0,0)
f(28,6478,4,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<1097844ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 1097844ul>::oop_access_barrier(void*)')
f(28,6482,2,4,'HandleMark::pop_and_restore()')
f(28,6484,172,3,'JVM_MonitorNotifyAll')
f(29,6501,2,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(29,6503,7,4,'Handle::Handle(Thread*, oopDesc*)')
f(29,6510,10,4,'HandleMark::pop_and_restore()')
f(29,6520,3,4,'JavaThread::is_lock_owned(unsigned char*) const')
f(29,6523,22,4,'ObjectSynchronizer::notifyall(Handle, Thread*)')
f(30,6537,7,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(30,6544,1,4,'JavaThread::is_lock_owned(unsigned char*) const')
f(29,6545,44,4,'ThreadInVMfromNative::~ThreadInVMfromNative()')
f(29,6589,67,4,'ThreadStateTransition::transition_from_native(JavaThread*, JavaThreadState) [clone .constprop.209]')
f(28,6656,2,4,'ObjectSynchronizer::notifyall(Handle, Thread*)')
f(28,6658,3,4,'ThreadStateTransition::transition_from_native(JavaThread*, JavaThreadState) [clone .constprop.209]')
f(26,6661,253,1,'DefaultAgenda$RestHandler$FireAllRulesRestHandler.handleRest')
f(27,6731,2,2,'DefaultAgenda.access$000',2,0,0)
f(27,6733,2,2,'DefaultAgenda.access$100',2,0,0)
f(27,6735,42,2,'DefaultAgenda.internalHalt',42,0,0)
f(28,6736,41,2,'DefaultAgenda$ConcurrentExecutionStateMachine.internalHalt',41,0,0)
f(29,6776,1,2,'DefaultAgenda$ConcurrentExecutionStateMachine.isFiring',1,0,0)
f(27,6777,137,2,'SynchronizedPropagationList.takeAll',137,0,0)
f(26,6914,8,1,'DefaultAgenda.evaluateEagerList')
f(27,6920,2,2,'LinkedList.isEmpty',2,0,0)
f(26,6922,4,1,'DefaultAgenda.flushExpirations')
f(26,6926,20,1,'DefaultAgenda.isFiring')
f(27,6943,3,2,'DefaultAgenda$ConcurrentExecutionStateMachine.isFiring',3,0,0)
f(26,6946,1844,1,'SequentialRuleEvaluator.evaluateAndFire')
f(27,6954,1834,1,'AbstractRuleEvaluator.internalEvaluateAndFire',47,0,0)
f(28,6954,12,2,'DefaultAgenda.evaluateQueriesForRule',12,0,0)
f(29,6963,3,2,'AgendaItemImpl.getRule',3,0,0)
f(28,6966,1,2,'RuleAgendaItem.getRuleExecutor',1,0,0)
f(28,6967,1821,1,'RuleExecutor.evaluateNetworkAndFire',34,0,0)
f(29,6971,1787,1,'RuleExecutor.fire')
f(30,7042,1637,2,'RuleExecutor.cancelAndContinue',668,0,0)
f(31,7057,1622,2,'RulesExecutor$RegisterOnlyAgendaFilter.accept',653,0,0)
f(32,7080,27,2,'Collections$UnmodifiableCollection$1.hasNext',27,0,0)
f(33,7084,23,2,'ArrayList$Itr.hasNext',23,0,0)
f(32,7107,2,2,'Collections$UnmodifiableCollection$1.next',2,0,0)
f(33,7107,2,2,'ArrayList$Itr.next',2,0,0)
f(32,7109,5,2,'Collections$UnmodifiableCollection.iterator',5,0,0)
f(33,7110,4,2,'Collections$UnmodifiableCollection$1.<init>',4,0,0)
f(32,7114,6,2,'ConcurrentHashMap$CollectionView.isEmpty',6,0,0)
f(33,7116,4,2,'ConcurrentHashMap.isEmpty',4,0,0)
f(32,7120,161,1,'ConcurrentHashMap$KeySetView.remove',1,0,0)
f(33,7121,160,1,'ConcurrentHashMap.remove')
f(34,7121,160,1,'ConcurrentHashMap.replaceNode')
f(35,7231,31,2,'ConcurrentHashMap.addCount',31,0,0)
f(35,7262,16,2,'ConcurrentHashMap.tabAt',16,0,0)
f(35,7278,3,2,'Long.equals',3,0,0)
f(32,7281,5,2,'DefaultFactHandle.getId',5,0,0)
f(32,7286,362,2,'HashSet.add',175,0,0)
f(33,7294,354,2,'HashMap.put',167,0,0)
f(34,7304,187,2,'HashMap.hash',157,0,0)
f(35,7313,178,2,'RuleTerminalNodeLeftTuple.hashCode',148,0,0)
f(36,7358,1,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<1097844ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 1097844ul>::oop_access_barrier(void*)')
f(36,7359,4,2,'AgendaItemImpl.getRule',4,0,0)
f(36,7363,34,2,'BaseLeftTuple.hashCode',34,0,0)
f(37,7377,20,2,'DefaultFactHandle.hashCode',20,0,0)
f(36,7397,8,2,'Integer.valueOf',8,0,0)
f(36,7405,83,2,'Objects.hash',56,0,0)
f(37,7406,82,2,'Arrays.hashCode',55,0,0)
f(38,7461,9,1,'Integer.hashCode')
f(38,7470,13,1,'String.hashCode')
f(39,7482,1,2,'StringLatin1.hashCode',1,0,0)
f(38,7483,5,3,'vtable stub')
f(36,7488,2,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(37,7488,2,4,'InstanceKlass::allocate_objArray(int, int, Thread*)')
f(38,7488,2,4,'CollectedHeap::array_allocate(Klass*, int, int, bool, Thread*)')
f(39,7488,2,4,'MemAllocator::allocate() const')
f(40,7488,2,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(41,7488,2,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(42,7488,2,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(43,7488,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(44,7488,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool)')
f(45,7488,1,4,'G1CollectedHeap::new_region(unsigned long, bool, bool)')
f(43,7489,1,4,'MutatorAllocRegion::retire(bool)')
f(44,7489,1,4,'G1CollectedHeap::retire_mutator_alloc_region(HeapRegion*, unsigned long)')
f(45,7489,1,4,'G1CollectionSet::add_eden_region(HeapRegion*)')
f(46,7489,1,4,'Monitor::unlock()')
f(36,7490,1,2,'RuleImpl.getName',1,0,0)
f(34,7491,157,1,'HashMap.putVal')
f(35,7541,12,2,'HashMap.newNode',12,0,0)
f(36,7541,12,2,'HashMap$Node.<init>',12,0,0)
f(35,7553,40,1,'HashMap.resize')
f(35,7593,13,1,'LinkedHashMap.afterNodeInsertion')
f(35,7606,42,1,'LinkedHashMap.newNode')
f(36,7623,24,2,'LinkedHashMap$Entry.<init>',24,0,0)
f(37,7623,24,2,'HashMap$Node.<init>',24,0,0)
f(36,7647,1,2,'LinkedHashMap.linkNodeLast',1,0,0)
f(32,7648,7,2,'Long.valueOf',7,0,0)
f(32,7655,108,2,'RuleTerminalNodeLeftTuple.getFactHandles',108,0,0)
f(33,7655,108,2,'AgendaItem.getFactHandles',108,0,0)
f(34,7672,16,2,'ArrayList.<init>',16,0,0)
f(34,7688,11,2,'ArrayList.add',11,0,0)
f(35,7688,11,2,'ArrayList.add',11,0,0)
f(36,7695,4,2,'ArrayList.grow',4,0,0)
f(37,7697,2,2,'ArrayList.grow',2,0,0)
f(38,7698,1,2,'Arrays.copyOf',1,0,0)
f(34,7699,52,2,'BaseLeftTuple.toFactHandles',52,0,0)
f(34,7751,12,2,'Collections.unmodifiableList',12,0,0)
f(35,7751,12,2,'Collections$UnmodifiableRandomAccessList.<init>',12,0,0)
f(36,7751,12,2,'Collections$UnmodifiableList.<init>',12,0,0)
f(32,7763,916,1,'StatefulKnowledgeSessionImpl.delete',294,0,0)
f(33,7766,913,1,'StatefulKnowledgeSessionImpl.delete',291,0,0)
f(34,7766,913,1,'StatefulKnowledgeSessionImpl.delete',291,0,0)
f(35,7830,787,1,'NamedEntryPoint.delete',165,0,0)
f(36,7847,7,6,'DefaultFactHandle.getEqualityKey',0,7,0)
f(36,7854,5,2,'EntryPointId.equals',5,0,0)
f(36,7859,10,1,'NamedEntryPoint.deleteLogical')
f(36,7869,605,1,'NamedEntryPoint.deleteStated')
f(37,7878,270,2,'NamedEntryPoint.delete',151,0,0)
f(38,7910,79,2,'ClassAwareObjectStore.removeHandle',30,0,0)
f(39,7910,79,2,'ClassAwareObjectStore.getOrCreateConcreteClassStore',30,0,0)
f(40,7912,11,2,'ClassAwareObjectStore.getActualClass',11,0,0)
f(40,7923,66,1,'ClassAwareObjectStore.getOrCreateConcreteClassStore',17,0,0)
f(41,7940,49,1,'ClassAwareObjectStore.getOrCreateClassStore')
f(42,7960,5,2,'Class.getName',5,0,0)
f(42,7965,24,2,'HashMap.get',24,0,0)
f(43,7965,18,2,'HashMap.getNode',18,0,0)
f(44,7969,14,2,'String.equals',14,0,0)
f(43,7983,6,2,'HashMap.hash',6,0,0)
f(44,7985,4,2,'String.hashCode',4,0,0)
f(45,7985,4,2,'String.isLatin1',4,0,0)
f(38,7989,46,2,'EntryPointNode.retractObject',46,0,0)
f(39,7989,3,2,'PropagationEntry$Delete.<init>',3,0,0)
f(39,7992,43,2,'ReteEvaluator.addPropagation',43,0,0)
f(40,7992,43,2,'StatefulKnowledgeSessionImpl.addPropagation',43,0,0)
f(41,8007,28,2,'DefaultAgenda.addPropagation',28,0,0)
f(42,8007,28,2,'SynchronizedPropagationList.addEntry',28,0,0)
f(43,8007,28,2,'SynchronizedPropagationList.internalAddEntry',28,0,0)
f(38,8035,87,1,'PhreakPropagationContextFactory.createPropagationContext',17,0,0)
f(39,8037,85,1,'PhreakPropagationContext.<init>',15,0,0)
f(40,8051,70,1,'PhreakPropagationContext.<init>')
f(40,8121,1,2,'PropertySpecificUtil.allSetBitMask',1,0,0)
f(38,8122,26,2,'StatefulKnowledgeSessionImpl.getNextPropagationIdCounter',26,0,0)
f(37,8148,326,2,'ObjectTypeConfigurationRegistry.getObjectTypeConf',326,0,0)
f(38,8190,284,2,'ConcurrentHashMap.get',284,0,0)
f(39,8335,2,2,'ConcurrentHashMap.spread',2,0,0)
f(39,8337,9,2,'ConcurrentHashMap.tabAt',9,0,0)
f(39,8346,35,2,'String.equals',35,0,0)
f(40,8370,11,2,'String.isLatin1',11,0,0)
f(39,8381,93,2,'String.hashCode',93,0,0)
f(40,8416,4,2,'String.isLatin1',4,0,0)
f(40,8420,54,2,'StringLatin1.hashCode',54,0,0)
f(36,8474,53,2,'NamedEntryPoint.lock',53,0,0)
f(37,8506,21,2,'ReentrantLock.lock',21,0,0)
f(36,8527,90,2,'NamedEntryPoint.unlock',90,0,0)
f(37,8552,65,2,'ReentrantLock.unlock',65,0,0)
f(38,8583,34,2,'AbstractQueuedSynchronizer.release',34,0,0)
f(39,8584,33,2,'ReentrantLock$Sync.tryRelease',33,0,0)
f(40,8588,29,2,'AbstractOwnableSynchronizer.setExclusiveOwnerThread',29,0,0)
f(35,8617,62,2,'StatefulKnowledgeSessionImpl.checkAlive',62,0,0)
f(36,8619,60,2,'StatefulKnowledgeSessionImpl.isAlive',60,0,0)
f(37,8667,12,2,'DefaultAgenda.isAlive',12,0,0)
f(38,8674,5,2,'DefaultAgenda$ConcurrentExecutionStateMachine.isAlive',5,0,0)
f(30,8679,76,2,'RuleExecutor.getNextTuple',76,0,0)
f(31,8692,1,2,'RuleTerminalNodeLeftTuple.setQueued',1,0,0)
f(31,8693,1,2,'TupleList.isEmpty',1,0,0)
f(31,8694,61,2,'TupleList.removeFirst',61,0,0)
f(32,8726,29,2,'BaseLeftTuple.clear',29,0,0)
f(33,8749,6,2,'BaseTuple.clear',6,0,0)
f(30,8755,3,2,'RuleExecutor.removeRuleAgendaItemWhenEmpty',3,0,0)
f(29,8758,30,2,'RuleExecutor.reEvaluateNetwork',30,0,0)
f(30,8787,1,2,'RuleNetworkEvaluator.evaluateNetwork',1,0,0)
f(27,8788,2,2,'AgendaGroupQueueImpl.peek',2,0,0)
f(28,8789,1,2,'BinaryHeapQueue.peek',1,0,0)
f(26,8790,779,2,'SynchronizedPropagationList.flush',632,0,0)
f(27,8790,779,2,'SynchronizedPropagationList.flush',632,0,0)
f(28,8791,536,2,'PropagationEntry$Delete.execute',517,0,0)
f(29,8791,536,2,'EntryPointNode.propagateRetract',517,0,0)
f(30,8796,531,2,'ObjectTypeNode.retractObject',512,0,0)
f(31,8796,531,2,'ObjectTypeNode.doRetractObject',512,0,0)
f(32,8799,526,2,'ObjectTypeNode.retractLeftTuples',507,0,0)
f(33,8801,1,2,'DefaultFactHandle.clearLeftTuples',1,0,0)
f(34,8801,1,2,'DefaultFactHandle$SingleLinkedTuples.clearLeftTuples',1,0,0)
f(33,8802,522,2,'DefaultFactHandle.forEachLeftTuple',503,0,0)
f(34,8802,522,2,'DefaultFactHandle$SingleLinkedTuples.forEachLeftTuple',503,0,0)
f(35,8802,522,2,'ObjectTypeNode$$Lambda$117/1257424926.accept',503,0,0)
f(36,8803,521,2,'ObjectTypeNode.lambda$retractLeftTuples$0',502,0,0)
f(37,8807,1,2,'AbstractTerminalNode.getLeftTupleSource',1,0,0)
f(37,8808,508,2,'AlphaTerminalNode.retractLeftTuple',489,0,0)
f(38,8816,464,2,'AlphaTerminalNode.getRuleAgendaItem',462,0,0)
f(39,8816,464,2,'StatefulKnowledgeSessionImpl.getNodeMemory',462,0,0)
f(40,8816,464,2,'ConcurrentNodeMemories.getNodeMemory',462,0,0)
f(41,8818,462,2,'AtomicReferenceArray.get',460,0,0)
f(42,9277,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(43,9277,1,4,'InstanceKlass::allocate_instance(Thread*)')
f(44,9277,1,4,'CollectedHeap::obj_allocate(Klass*, int, Thread*)')
f(45,9277,1,4,'MemAllocator::allocate() const')
f(46,9277,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(47,9277,1,4,'G1Allocator::unsafe_max_tlab_alloc()')
f(48,9277,1,4,'G1CollectedHeap::max_tlab_size() const')
f(42,9278,1,4,'SharedRuntime::on_slowpath_allocation_exit(JavaThread*)')
f(42,9279,1,5,'asm_sysvec_apic_timer_interrupt')
f(43,9279,1,5,'sysvec_apic_timer_interrupt')
f(44,9279,1,5,'irq_exit_rcu')
f(45,9279,1,5,'__softirqentry_text_start')
f(46,9279,1,5,'run_rebalance_domains')
f(47,9279,1,5,'rebalance_domains')
f(48,9279,1,5,'load_balance')
f(49,9279,1,5,'find_busiest_group')
f(50,9279,1,5,'update_sd_lb_stats.constprop.0')
f(51,9279,1,5,'update_sg_lb_stats')
f(38,9280,5,2,'BaseTuple.setPropagationContext',5,0,0)
f(38,9285,31,2,'PhreakRuleTerminalNode.doLeftDelete',14,0,0)
f(39,9286,1,2,'BaseTuple.setContextObject',1,0,0)
f(39,9287,29,2,'RuleTerminalNodeLeftTuple.cancelActivation',12,0,0)
f(40,9287,29,2,'DefaultAgenda.cancelActivation',12,0,0)
f(41,9296,20,1,'RuleExecutor.fireConsequenceEvent',3,0,0)
f(42,9299,6,1,'RuleImpl.getNamedConsequence')
f(42,9305,11,1,'RuleTerminalNodeLeftTuple.getRule')
f(43,9309,2,2,'RuleTerminalNode.getRule',2,0,0)
f(43,9311,5,2,'RuleTerminalNodeLeftTuple.getTerminalNode',5,0,0)
f(44,9312,4,2,'BaseLeftTuple.getTupleSink',4,0,0)
f(37,9316,8,2,'BaseLeftTuple.getTupleSink',8,0,0)
f(38,9316,8,2,'BaseLeftTuple.getTupleSink',8,0,0)
f(33,9324,1,2,'Invokers$Holder.linkToTargetMethod',1,0,0)
f(32,9325,2,2,'ObjectTypeNode.retractRightTuples',2,0,0)
f(33,9325,2,2,'DefaultFactHandle.clearRightTuples',2,0,0)
f(34,9325,2,2,'DefaultFactHandle$SingleLinkedTuples.clearRightTuples',2,0,0)
f(28,9327,242,2,'PropagationEntry$Insert.execute',114,0,0)
f(29,9327,242,2,'PropagationEntry$Insert.propagate',114,0,0)
f(30,9327,2,2,'FactTemplateTypeConf.getObjectTypeNodes',2,0,0)
f(30,9329,240,2,'ObjectTypeNode.propagateAssert',112,0,0)
f(31,9329,240,2,'SingleObjectSinkAdapter.propagateAssertObject',112,0,0)
f(32,9329,143,1,'AlphaNode.assertObject',15,0,0)
f(33,9329,66,1,'LambdaConstraint.isAllowed',2,0,0)
f(34,9329,66,1,'ConstraintEvaluator.evaluate',2,0,0)
f(35,9329,66,1,'ConstraintEvaluator$InnerEvaluator$_1.evaluate',2,0,0)
f(36,9329,66,1,'Predicate1$Impl.test',2,0,0)
f(37,9329,66,1,'PrototypeDSL$PrototypePatternDefImpl$$Lambda$49/1378013276.test',2,0,0)
f(38,9329,66,1,'PrototypeDSL$PrototypePatternDefImpl.lambda$asPredicate1$328608a8$1',2,0,0)
f(39,9329,66,1,'PrototypeDSL$PrototypePatternDefImpl$$Lambda$48/1787773058.apply',2,0,0)
f(40,9329,66,1,'PrototypeDSL$PrototypePatternDefImpl.lambda$expr$65d52f5b$1',2,0,0)
f(41,9329,66,1,'HashMapFactImpl.has',2,0,0)
f(42,9331,64,1,'HashMap.containsKey')
f(43,9340,41,1,'HashMap.getNode',12,0,0)
f(44,9352,29,1,'String.equals')
f(45,9379,2,2,'String.coder',2,0,0)
f(43,9381,14,1,'HashMap.hash',4,0,0)
f(44,9385,10,1,'String.hashCode')
f(33,9395,77,1,'SingleObjectSinkAdapter.propagateAssertObject',13,0,0)
f(34,9395,77,1,'AlphaTerminalNode.assertObject',13,0,0)
f(35,9395,30,1,'AlphaTerminalNode.getRuleAgendaItem',7,0,0)
f(36,9395,30,1,'PathMemory.doLinkRule',7,0,0)
f(37,9395,30,1,'PathMemory.queueRuleAgendaItem',7,0,0)
f(38,9399,22,1,'AgendaGroupQueueImpl.add',3,0,0)
f(39,9399,22,1,'BinaryHeapQueue.enqueue',3,0,0)
f(40,9399,22,1,'BinaryHeapQueue.percolateUpMaxHeap',3,0,0)
f(41,9399,22,1,'BinaryHeapQueue.percolateUpMaxHeap',3,0,0)
f(42,9402,19,1,'BinaryHeapQueue.setElement')
f(43,9420,1,2,'AgendaItemImpl.setQueueIndex',1,0,0)
f(38,9421,4,6,'DefaultAgenda.getActivationsFilter',0,4,0)
f(35,9425,36,1,'PhreakRuleTerminalNode.doLeftTupleInsert',4,0,0)
f(36,9429,13,1,'BaseTuple.increaseActivationCountForEvents')
f(37,9440,2,2,'BaseTuple.skipEmptyHandles',2,0,0)
f(38,9440,2,2,'BaseTuple.getFactHandle',2,0,0)
f(36,9442,13,1,'DefaultAgenda.addItemToActivationGroup')
f(37,9449,6,2,'RuleTerminalNodeLeftTuple.getRule',6,0,0)
f(38,9449,6,2,'RuleTerminalNodeLeftTuple.getTerminalNode',6,0,0)
f(39,9452,3,2,'BaseLeftTuple.getTupleSink',3,0,0)
f(36,9455,6,6,'DefaultAgenda.getActivationsFilter',0,6,0)
f(35,9461,11,1,'RuleTerminalNode.createLeftTuple',2,0,0)
f(36,9461,11,1,'AgendaComponentFactory$AgendaComponentFactoryImpl.createTerminalTuple',2,0,0)
f(37,9461,11,1,'RuleTerminalNodeLeftTuple.<init>',2,0,0)
f(38,9461,11,1,'BaseLeftTuple.<init>',2,0,0)
f(39,9461,11,1,'DefaultFactHandle.addTupleInPosition',2,0,0)
f(40,9461,11,1,'DefaultFactHandle$SingleLinkedTuples.addTupleInPosition',2,0,0)
f(41,9461,11,1,'BaseLeftTuple.getInputOtnId',2,0,0)
f(42,9463,9,1,'BaseLeftTuple.getTupleSink')
f(32,9472,97,2,'AlphaTerminalNode.assertObject',97,0,0)
f(33,9493,30,2,'AlphaTerminalNode.getRuleAgendaItem',30,0,0)
f(34,9496,26,2,'PathMemory.doLinkRule',26,0,0)
f(35,9496,26,2,'PathMemory.queueRuleAgendaItem',26,0,0)
f(36,9515,7,2,'AgendaGroupQueueImpl.add',7,0,0)
f(37,9515,7,2,'BinaryHeapQueue.enqueue',7,0,0)
f(38,9515,7,2,'BinaryHeapQueue.percolateUpMaxHeap',7,0,0)
f(39,9517,5,2,'BinaryHeapQueue.setElement',5,0,0)
f(34,9522,1,2,'StatefulKnowledgeSessionImpl.getNodeMemory',1,0,0)
f(33,9523,38,2,'BaseNode.getSinks',38,0,0)
f(34,9558,3,2,'LeftTupleSource.getSinkPropagator',3,0,0)
f(33,9561,5,2,'BaseTuple.setPropagationContext',5,0,0)
f(33,9566,1,2,'RuleImpl.getAutoFocus',1,0,0)
f(33,9567,2,2,'RuleTerminalNode.createLeftTuple',2,0,0)
f(34,9567,2,2,'AgendaComponentFactory$AgendaComponentFactoryImpl.createTerminalTuple',2,0,0)
f(35,9567,2,2,'RuleTerminalNodeLeftTuple.<init>',2,0,0)
f(36,9567,2,2,'BaseLeftTuple.<init>',2,0,0)
f(37,9568,1,2,'DefaultFactHandle.addTupleInPosition',1,0,0)
f(38,9568,1,2,'DefaultFactHandle$SingleLinkedTuples.addTupleInPosition',1,0,0)
f(39,9568,1,2,'DefaultFactHandle$SingleLinkedTuples.setFirstTuple',1,0,0)
f(26,9569,95,1,'SynchronizedPropagationList.takeAll')
f(2,9664,336,3,'[unknown_Java]')
f(3,9664,2,1,'HashMap.putVal')
f(3,9666,108,1,'NamedEntryPoint.deleteStated')
f(3,9774,153,1,'NamedEntryPoint.insert')
f(3,9927,2,1,'Object.notifyAll')
f(3,9929,66,1,'RulesExecutor.populateFact')
f(3,9995,5,1,'System.identityHashCode')

search();
</script></body></html>
